package com.matrix.framework.auth.service;

import reactor.core.publisher.Mono;

/**
 * 登录失败记录服务接口
 *
 * Copyright © 海平面工作室 版权所有
 *
 * @Author: Leo
 * @Create: 2024/10/3 11:15
 * @Since 1.0
 */
public interface LoginFailRecordService {

    /**
     * 记录登录失败
     */
    Mono<Void> recordLoginFail(String username);

    /**
     * 清除登录失败记录
     */
    Mono<Void> clearLoginFailRecord(String username);

    /**
     * 检查用户是否应该被锁定
     */
    Mono<Boolean> shouldLockUser(String username);

    /**
     * 检查用户是否已被锁定
     */
    Mono<Boolean> isUserLocked(String username);
} 